SYNKA clip の主な機能
SYNKA clip の主要な機能・設定項目・アーキテクチャ上の特徴は以下になります。
画面イメージ:
https://gyazo.com/f511c33fee3c1009567176e08f46a4bd
1. コア機能(ハイライト機能・主体学習支援機能)
WebページやPDF上で「絞る・試す・残す」を回すための、学習・レビュー機能です。
4色のカラーハイライト分類
選択テキストに対して、文脈や重要度に応じた4色の意味付けハイライトが可能。
🟨 重要 (Yellow / デフォルト / #fff3a0) - 文脈を支える定義や事実。
🟥 最重要 (Red / #fecaca) - 最優先で暗記・想起するべき核。
🟩 問い・テーマ (Green / #bbf7d0) - 記事を貫く論点や自分自身への問い。
🟦 未理解 (Blue / #bfdbfe) - 分からない箇所、後でAIに確認する起点。
カラータグ自動マッピング
ハイライトした色に対応するタグ(例:#最重要 など)を自動適用。
タグの文字列は設定・環境設定 (Preferences) から自由に変更可能で、端末間で同期されます。
カスタムメモと手動タグ付加
ハイライトした箇所に対して、インラインでカスタムテキストメモを保存可能。
手動で自由なタグ(#仕事 #英語 など)を付加し、脳内タグと連携できます。
コレクション(フォルダ)分類
ハイライトを任意のコレクション名(例:仕事, アイデア, 学習 など)に分類可能。
クラウド保存時に、そのコレクション名のサブディレクトリ(例:clips/仕事/)へファイルを自動で振り分けます。
ハイライト非表示(マスク)モード
ページ全体のハイライト部分を「非表示(透明)」にし、背景色をプレースホルダー化することで、ページを瞬時に「虫食い(穴埋め)問題」へ変換。
「読み返し」ではなく「思い出す(想起練習/Active Recall)」をWebページ上で直接行うことで、長期記憶の定着を最大化します。
ホバーによるフェード表示 (Hover Reveal) & 個別タップ開閉
非表示状態のハイライト部分にマウスホバーすると、スムーズなマイクロアニメーション(0.15s ease)を伴って一時的にテキストが表示(プレビュー)されます。
空白部分を直接クリック(またはタップ)することで、個別に表示・非表示をトグル(答え合わせ)可能です。
Shiftキーで即時ハイライト
テキスト選択中に Shiftキーを押すだけで、メニューを開かずに瞬時にハイライトできるクイック操作に対応。
2. ストレージ&データ同期アーキテクチャ
完全なサーバーレス(Serverless)設計
OAuthトークンやハイライトされたテキストデータ、個人情報は第三者のサーバーを経由しません。
ブラウザから直接、Microsoft Graph API および Google Drive v3 API と暗号化通信を行います。
OneDrive か Google Drive へのデータ保存
保存したハイライトを、OneDrive か Google Drive ,もしくは両方のクラウドへ並行してリアルタイム書き込みします。
プレーンMarkdown保存形式
YAML Frontmatter(タイトル、URL、取得日時、ドメイン)+ヘッダー+タイムスタンプ区切り(## YYYY-MM-DDTHH:MM:SS)のセクション構造。
各ハイライト箇所は、> 引用 ブロックとして見やすくフォーマットされます。
末尾に固有ハッシュ <!-- synka-clip:selection_hash=... --> を付加し、ノートの追記・更新・削除を自動制御。
クラウド上のインプレーン・セクション編集
ユーザーがブラウザ上でメモやタグ、ハイライト色を修正・削除すると、クラウド上のMarkdownファイルから対象セクション(ハッシュ合致部)のみを自動的に検索し、インプレース(置換・削除)で上書き保存します。
ファイル全体の全消去や、余計な競合を防ぐクリーンな追記編集設計です。
オフライン・キューイング(IndexedDBベース)
ネットワークがない場所(オフライン)でハイライトしても、ブラウザの IndexedDB 上に QueuedClip として一時保管。
オンライン復帰後、バックグラウンドのキュープロセッサが指数バックオフ(1秒〜最大30分)を用いて、自動でクラウドへ並行再送処理を行います。
ローカルストレージ・アダプター (Local Backup)
クラウド接続を行わない場合、または一時的なローカル管理のために、chrome.storage.local 内の仮想ファイルシステム (localfs:) および chrome.downloads API を用いたPCへのMarkdownダウンロード保存機能に切り替えることが可能です。
3. ドキュメント別専用サポート
Webページだけでなく、YouTubeやPDFドキュメントをシームレスに学習システムへ組み込む機能です。
内蔵PDFビューア
ブラウザ上で開きづらいPDF(特にローカルファイル file:// や特定サーバー上のPDF)でも、テキストレイヤー上の座標情報を厳密に解析・復元し、Webページと全く同じ4色ハイライトやマスクテスト(ハイライトの非表示)を可能にします。
YouTube動画タイムスタンプ&コンテキスト連携
YouTubeページでテキスト(字幕や概要欄など)をハイライトする際、動画の再生プレイヤーから現在の再生位置(秒数)を自動抽出。
Canonical URL(元の動画URL)に &t=XXs タイムスタンプパラメータを付加したURLを生成し、復習時に動画のそのシーンへ直接ジャンプ可能にします。
再生中のプレイヤーが持つ字幕情報 (ytInitialPlayerResponse) やキャッショントラックメタデータも同時にキャプチャします。
4. インテリジェント要約 & まとめ自動生成
デイリーダイジェスト自動生成 (Daily Digest)
指定時間(毎日定時アラーム)にバックグラウンドで起動。
その日にハイライト・作成されたMarkdownファイルをスキャンし、clips/_digest/digest_YYYY-MM-DD.md に自動インデックスを作成。
Obsidian等のノートリンク記法(-[[ファイル名]])で整理された、日報ファイルを自動出力します。
デイリーハイライトリスト自動生成 (Daily Highlights List)
その日に保存されたハイライトを「ハイライト本文自体」を主役にフラット化したMarkdownファイル clips/_daily-highlights/highlights_YYYY-MM-DD.md を自動生成。
色分けの絵文字(🔴 🟢 🔵 🟡)、ページタイトル、メモ、タグ、Text Fragmentリンクが一望できる、復習用の専用まとめファイルです。
5. マルチデバイス・同期連携
複数端末でのシームレスな学習継続を支える機能です。
ラストライツウィン(LWW)競合解決
複数端末でハイライト情報が編集された場合、updatedAt タイムスタンプを用いたコンフリクト解決(Last-Write-Wins)を実行。
Text Fragmentによるハイライト自動復元・スクロール
クラウドに保存されたMarkdownリンクや、コレクション内のアイテムをクリックすると、ブラウザの Text Fragment (#:~:text=...) 機能を用いて、元のWebページの該当段落まで自動スクロールし、ハイライト表示をその場に動的復元します。
これにより、PCで引いたハイライトをスマートフォンで開いた際に、目的の文章へ一瞬でアクセスできます。
【開発中】iOS / iPadOS Safari 拡張機能対応
Chromium(Chrome / Edge)だけではなく、iOS Safari Web Extension の動作制限に適応。
モバイルの狭い画面に配慮したスマートなフローティングUI、iOS特有の選択範囲バグの自動回避処理、chrome.alarms が使えない場合の起動時同調処理などをサポートしています。
6. 各種設定項目 (Extension Settings)
ユーザーがカスタマイズ可能なパラメータ群です。
table:_
設定キー 概要 選択肢・デフォルト
splitMode Markdownファイルの保存分割方針 per-url (URLごと / デフォルト), per-highlight (ハイライトごと), per-day (日ごと)
rootPath クラウドストレージ上の保存先ルート デフォルト:SYNKA-memo/WebClip
aiBackend 要約に使用するAIモデルバックエンド off, auto (デフォルト), gemini-nano, ollama
ollamaBaseUrl ローカルOllamaサーバーのベースURL デフォルト:http://localhost:11434
ollamaModel 使用するOllamaのモデル名 デフォルト:llama3
enableIncognito シークレットモードでのハイライト有効化 true, false (デフォルト)
highlightColor デフォルトのハイライト色 (CSS値) デフォルト:#fff3a0 (イエロー)
dailyDigestHour デイリーダイジェストの生成時間(時) 0〜23 / デフォルト:22 (夜22時)
dailyDigestMinute デイリーダイジェストの生成時間(分) 0〜59 / デフォルト:00
duplicateSelectionPolicy 重複するテキストハイライト時の挙動 skip (重複保存をスキップ), append (新規追記 / デフォルト)
showFloatingButton 選択時にクイック保存ボタンをポップアップ true (デフォルト), false
rememberLastColor 直前に使用した色を次回の初期色にする true, false (デフォルト)